#include "StdAfx.h"
#include "Sceneobject.h"
#include "Game.h"

CSceneObject::CSceneObject()
{
}

CSceneObject::~CSceneObject()
{
}

//------------------------------------------------------------------------
bool CSceneObject::Init(IGameObject *pGameObject)
{
	SetGameObject(pGameObject);
	return true;
}

//------------------------------------------------------------------------

//------------------------------------------------------------------------
void CSceneObject::PostInit(IGameObject *pGameObject)
{
	GetGameObject()->EnableUpdateSlot(this, 0);
}

//------------------------------------------------------------------------
bool CSceneObject::ReloadExtension( IGameObject * pGameObject, const SEntitySpawnParams &params )
{
	ResetGameObject();

	CRY_ASSERT_MESSAGE(false, "CRain::ReloadExtension not implemented");
	
	return false;
}

//------------------------------------------------------------------------
bool CSceneObject::GetEntityPoolSignature( TSerialize signature )
{
	CRY_ASSERT_MESSAGE(false, "CRain::GetEntityPoolSignature not implemented");
	
	return true;
}

//------------------------------------------------------------------------
void CSceneObject::Release()
{
	delete this;
}

//------------------------------------------------------------------------
void CSceneObject::FullSerialize(TSerialize ser)
{
}

//------------------------------------------------------------------------
void CSceneObject::Update(SEntityUpdateContext &ctx, int updateSlot)
{

}

//------------------------------------------------------------------------
void CSceneObject::HandleEvent(const SGameObjectEvent &event)
{
}

//------------------------------------------------------------------------
void CSceneObject::ProcessEvent(SEntityEvent &event)
{
	switch (event.event)
	{
	case ENTITY_EVENT_RESET:
		break;
	case ENTITY_EVENT_HIDE:
	case ENTITY_EVENT_DONE:
		if (gEnv && gEnv->p3DEngine)
		{
			static const Vec3 vZero(ZERO);
			gEnv->p3DEngine->SetRainParams(vZero, 0, 0, vZero);
		}
		break;
	}
}

//------------------------------------------------------------------------
void CSceneObject::SetAuthority(bool auth)
{
}

//------------------------------------------------------------------------
